/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package airacrobats.io.data;

import javax.vecmath.Point3f;

/**
 *
 */
public class AirplaneData
{
    /**
     * Scale factor of the airplane (The size in meters corresponding from 0 to 1 on the model).
     */
    private float scaleFactor;
    /**
     * The plane cruise speed.
     */
    private float cruiseSpeed;
    /**
     * The plane maximum speed, based on the cruise speed.
     */
    private float maximumSpeedFactor;
    /**
     * Acceleration of the engine.
     */
    private float enginePower;
    /**
     * Z axis (wings) of the airplane model.
     */
    private Point3f zAxis;
    /**
     * X axis of the airplane model.
     */
    private Point3f xAxis;
    /**
     * The propeller position.
     */
    private Point3f propellerPosition;

    /**
     * @param scaleFactor The scale factor.
     * @param cruiseSpeed The cruise speed.
     * @param maximumSpeedFactor The maximum speed factor.
     * @param enginePower The engine power.
     * @param xAxis The x axis.
     * @param zAxis The z axis.
     * @param propellerPosition The propeller position.
     */
    public AirplaneData(float scaleFactor, float cruiseSpeed, float maximumSpeedFactor, 
            float enginePower, Point3f xAxis, Point3f zAxis, Point3f propellerPosition)
    {
        this.scaleFactor = scaleFactor;
        this.cruiseSpeed = cruiseSpeed;
        this.maximumSpeedFactor = maximumSpeedFactor;
        this.enginePower = enginePower;
        this.xAxis = xAxis;
        this.zAxis = zAxis;
        this.propellerPosition = propellerPosition;
    }

    /**
     * @return The scale factor.
     */
    public float getScaleFactor()
    {
        return scaleFactor;
    }

    /**
     * @return The cruise speed.
     */
    public float getCruiseSpeed()
    {
        return cruiseSpeed;
    }

    /**
     * @return The maximum speed factor.
     */
    public float getMaximumSpeedFactor()
    {
        return maximumSpeedFactor;
    }

    /**
     * @return The engine power.
     */
    public float getEnginePower()
    {
        return enginePower;
    }

    /**
     * @return The x axis.
     */
    public Point3f getXAxis()
    {
        return xAxis;
    }

    /**
     * @return The z axis.
     */
    public Point3f getZAxis()
    {
        return zAxis;
    }

    /**
     * @return The propeller position.
     */
    public Point3f getPropellerPosition()
    {
        return propellerPosition;
    }
}
